#if !defined(AFX_MOVEBUTTON_H__9A75DE35_DFBD_48D4_9E3D_E236F3286F90__INCLUDED_)
#define AFX_MOVEBUTTON_H__9A75DE35_DFBD_48D4_9E3D_E236F3286F90__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MoveButton.h : header file
//

typedef void (*FUNCTION_VI)(int n);
typedef void (*FUNCTION)();


/////////////////////////////////////////////////////////////////////////////
// CMoveButton window

class CMoveButton : public CButton
{
// Construction
public:
	CMoveButton();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMoveButton)
	public:
	virtual void OnFinalRelease();
	//}}AFX_VIRTUAL

// Implementation
public:
	void		SetFunctionByID(int nID,FUNCTION_VI pfd,FUNCTION pfu);

	int			m_nID;
	FUNCTION_VI	m_pMouseDown;
	FUNCTION	m_pMouseUp;

	virtual ~CMoveButton();

	// Generated message map functions
protected:
	//{{AFX_MSG(CMoveButton)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
	// Generated OLE dispatch map functions
	//{{AFX_DISPATCH(CMoveButton)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_DISPATCH
	DECLARE_DISPATCH_MAP()
	DECLARE_INTERFACE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MOVEBUTTON_H__9A75DE35_DFBD_48D4_9E3D_E236F3286F90__INCLUDED_)
